package com.ruoyi.library.api.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 资产信息返回参数
 *
 * @author ZhangYu
 * @date 2024/05/16
 */
@Data
@ApiModel(value = "DigitalTwinAssetsVO", description = "资产信息返回参数")
public class DigitalTwinAssetsVO {

    /**
     * 唯一主键
     */
    @ApiModelProperty("唯一主键")
    private Long id;

    /**
     * 立卡日期
     */
    @ApiModelProperty("立卡日期")
    private Date registrationDate;

    /**
     * 使用部门
     */
    @ApiModelProperty("使用部门")
    private String useDept;

    /**
     * 资产名称
     */
    @ApiModelProperty("资产名称")
    private String assetsName;

    /**
     * 资产编号
     */
    @ApiModelProperty("资产编号")
    private String assetsCode;

    /**
     * 资产标准名称
     */
    @ApiModelProperty("资产标准名称")
    private String assetsStandardName;

    /**
     * 规格
     */
    @ApiModelProperty("规格")
    private String specification;

    /**
     * 型号
     */
    @ApiModelProperty("型号")
    private String model;

    /**
     * 安装位置
     */
    @ApiModelProperty("安装位置")
    private String installPlace;

    /**
     * 责任人
     */
    @ApiModelProperty("责任人")
    private String person;

    /**
     * 项目名称
     */
    @ApiModelProperty("项目名称")
    private String projectName;

    /**
     * 地理区域名称
     */
    @ApiModelProperty("地理区域名称")
    private String fieldName;

    /**
     * 管理状态use:在用,stop:停用,seal:封存,idle:闲置,rent:出租,scrap:全部报废,scrap_part:局部报废,allot:变卖,lose:盘亏,deal:清理,rentback:退租,win:盘赢,mo:转让
     */
    @ApiModelProperty("管理状态use:在用,stop:停用,seal:封存,idle:闲置,rent:出租,scrap:全部报废,scrap_part:局部报废,allot:变卖,lose:盘亏,deal:清理,rentback:退租,win:盘赢,mo:转让")
    private String manageStatus;

    /**
     * 启用日期
     */
    @ApiModelProperty("启用日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date enableDate;

    /**
     * 记录状态0:未提交,1:已提交,2:审批中,3:已审批,4:已否决,5:审批退回,6:已退回,7:已注销
     */
    @ApiModelProperty("记录状态0:未提交,1:已提交,2:审批中,3:已审批,4:已否决,5:审批退回,6:已退回,7:已注销")
    private Integer auditingStatus;

    /**
     * 资产分类编码
     */
    @ApiModelProperty("资产分类编码")
    private String typeCode;

    /**
     * 资产分类名称
     */
    @ApiModelProperty("资产分类名称")
    private String typeName;

    /**
     * 资产原值
     */
    @ApiModelProperty("资产原值")
    private BigDecimal oriValue;

    /**
     * 详细项目名
     */
    @ApiModelProperty("详细项目名")
    private String detailProjectName;

    /**
     * 净残值
     */
    @ApiModelProperty("净残值")
    private Long netSalvageValue;

    /**
     * 净残率
     */
    @ApiModelProperty("净残率")
    private String netSalvageRate;

    /**
     * 机型编码
     */
    @ApiModelProperty("机型编码")
    private String devTypeCode;

    /**
     * 所有权公司
     */
    @ApiModelProperty("所有权公司")
    private String apCompany;

    /**
     * 使用权公司
     */
    @ApiModelProperty("使用权公司")
    private String aupCompany;

    /**
     * 使用权公司管理部门名称
     */
    @ApiModelProperty("使用权公司管理部门名称")
    private String aupCompanyDeptName;

    /**
     * 标签编码
     */
    @ApiModelProperty("标签编码")
    private String labelCode;

    /**
     * 制造厂商
     */
    @ApiModelProperty("制造厂商")
    private String factory;

    /**
     * 出厂日期
     */
    @ApiModelProperty("出厂日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date factoryDate;

    /**
     * 安装区域
     */
    @ApiModelProperty("安装区域")
    private String installField;

    /**
     * 状态变更日期
     */
    @ApiModelProperty("状态变更日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date varyDate;

    /**
     * 累计折旧（元）
     */
    @ApiModelProperty("累计折旧（元）")
    private Long depValue;

    /**
     * 月折旧日期
     */
    @ApiModelProperty("月折旧日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date monthDepDate;

    /**
     * 设备类型
     */
    @ApiModelProperty("设备类型")
    private String style;

    /**
     * 月折旧额
     */
    @ApiModelProperty("月折旧额")
    private Long monthDepValue;

    /**
     * 使用月限
     */
    @ApiModelProperty("使用月限")
    private Long workMonth;

    /**
     * 供应商名称
     */
    @ApiModelProperty("供应商名称")
    private String providerName;

    /**
     * 所有权公司管理部门编码
     */
    @ApiModelProperty("所有权公司管理部门编码")
    private String apCompanyDeptCode;

    /**
     * 出厂编号
     */
    @ApiModelProperty("出厂编号")
    private String factoryCode;

    /**
     * 资产来源
     */
    @ApiModelProperty("资产来源")
    private Long assetsSource;

    /**
     * 所有权公司管理部门id
     */
    @ApiModelProperty("所有权公司管理部门id")
    private String apCompanyDeptId;

    /**
     * devicecard_id
     */
    @ApiModelProperty("devicecard_id")
    private String devicecardId;

    /**
     * 安装区域id
     */
    @ApiModelProperty("安装区域id")
    private String installFieldId;

    /**
     * 失效日期
     */
    @ApiModelProperty("失效日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date expiryDate;

    /**
     * 特种设备属性boiler:锅炉,elevator:电梯,power:压力容器,press_p:压力管道,vehicle:车辆,measure:计量器具,crane:起重装置,ray:射线装置
     */
    @ApiModelProperty("特种设备属性boiler:锅炉,elevator:电梯,power:压力容器,press_p:压力管道,vehicle:车辆,measure:计量器具,crane:起重装置,ray:射线装置")
    private String specialId;

    /**
     * 设备类别id
     */
    @ApiModelProperty("设备类别id")
    private String typeId;

    /**
     * 设备机型类型id
     */
    @ApiModelProperty("设备机型类型id")
    private String deviceTypeId;

    /**
     * 管理部门id
     */
    @ApiModelProperty("管理部门id")
    private String manageDeptId;

    /**
     * 是否标签损坏
     */
    @ApiModelProperty("是否标签损坏")
    private Integer isLabelDamage;

    /**
     * 资产性质0:自有,1:授权,2:租赁,3:托管,4:地方政府资产
     */
    @ApiModelProperty("资产性质0:自有,1:授权,2:租赁,3:托管,4:地方政府资产")
    private Integer assetsNature;

    /**
     * 入账状态1:转固,2:暂估
     */
    @ApiModelProperty("入账状态1:转固,2:暂估")
    private Integer isCom;

    /**
     * 所属大类0:设备,1:设施,2:车辆,3:软件,4:文化,5:绿化,6:家具,7:房屋,8:咸阳机场信息化资产,9:低值,10:家具(低值)
     */
    @ApiModelProperty("所属大类0:设备,1:设施,2:车辆,3:软件,4:文化,5:绿化,6:家具,7:房屋,8:咸阳机场信息化资产,9:低值,10:家具(低值)")
    private Integer largeClass;

    /**
     * 已计提月份
     */
    @ApiModelProperty("已计提月份")
    private Long auditingMonth;

    /**
     * 减值准备
     */
    @ApiModelProperty("减值准备")
    private Long impairProvision;

    /**
     * 供应商编码
     */
    @ApiModelProperty("供应商编码")
    private String providerCode;

    /**
     * 供应商id
     */
    @ApiModelProperty("供应商id")
    private String providerId;

    /**
     * 无税价格
     */
    @ApiModelProperty("无税价格")
    private BigDecimal notaxPrice;

    /**
     * 质保终止日期
     */
    @ApiModelProperty("质保终止日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date guaranteeDate;

    /**
     * 管理人
     */
    @ApiModelProperty("管理人")
    private String manager;

    /**
     * 是否财务资产
     */
    @ApiModelProperty("是否财务资产")
    private Integer isFinancialAssets;

    /**
     * 运行台时记录方式0:全天,1:日记录,2:累加,3:不记录
     */
    @ApiModelProperty("运行台时记录方式0:全天,1:日记录,2:累加,3:不记录")
    private Integer runType;

    /**
     * 工艺功能位置编号
     */
    @ApiModelProperty("工艺功能位置编号")
    private String locationCode;

    /**
     * 管理人id
     */
    @ApiModelProperty("管理人id")
    private String managerId;

    /**
     * 工艺功能位置名称
     */
    @ApiModelProperty("工艺功能位置名称")
    private String locationName;

    /**
     * 工艺功能位置id
     */
    @ApiModelProperty("工艺功能位置id")
    private String locationId;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String memo;

    /**
     * 责任人id
     */
    @ApiModelProperty("责任人id")
    private String personId;

    /**
     * 所有权公司id
     */
    @ApiModelProperty("所有权公司id")
    private String apCompanyId;

    /**
     * 使用权公司id
     */
    @ApiModelProperty("使用权公司id")
    private String aupCompanyId;

    /**
     * 是否标准名称
     */
    @ApiModelProperty("是否标准名称")
    private Integer isStd;

    /**
     * 是否特种设备
     */
    @ApiModelProperty("是否特种设备")
    private Integer isSpecial;

    /**
     * 是否设备机型
     */
    @ApiModelProperty("是否设备机型")
    private Integer isType;

    /**
     * 设备标准名称id
     */
    @ApiModelProperty("设备标准名称id")
    private String stdNameId;

    /**
     * 增加方式
     */
    @ApiModelProperty("增加方式")
    private Integer addType;

    /**
     * 种类	0:书法,1:玉器,2:其他
     */
    @ApiModelProperty("种类 0:书法,1:玉器,2:其他")
    private Integer culType;

    /**
     * 单位
     */
    @ApiModelProperty("单位")
    private String cUnit;

    /**
     * 作者
     */
    @ApiModelProperty("作者")
    private String author;

    /**
     * 创作日期
     */
    @ApiModelProperty("创作日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date craftDate;

    /**
     * 数量
     */
    @ApiModelProperty("数量")
    private Long nums;

    /**
     * 全貌图
     */
    @ApiModelProperty("全貌图")
    private String deviceImage;

    /**
     * 软件介质类型0:光盘,1:U盘,2:磁盘,3:电存储,4:其它
     */
    @ApiModelProperty("软件介质类型0:光盘,1:U盘,2:磁盘,3:电存储,4:其它")
    private Integer storeType;

    /**
     * 版本号
     */
    @ApiModelProperty("版本号")
    private String version;

    /**
     * 许可方式0:单机许可,1:单人许可,2:预装许可,3:开放式许可,4:场地许可,5:网络许可,6:服务器的CPU许可
     */
    @ApiModelProperty("许可方式0:单机许可,1:单人许可,2:预装许可,3:开放式许可,4:场地许可,5:网络许可,6:服务器的CPU许可")
    private Integer licenseType;

    /**
     * 许可数量
     */
    @ApiModelProperty("许可数量")
    private Long licenseNum;

    /**
     * 许可证号
     */
    @ApiModelProperty("许可证号")
    private String license;

    /**
     * 所属系统
     */
    @ApiModelProperty("所属系统")
    private String systemType;

    /**
     * 维护方式0:自主维护,1:委外维护,2:综合维护
     */
    @ApiModelProperty("维护方式0:自主维护,1:委外维护,2:综合维护")
    private Integer maintType;

    /**
     * 所有权公司管理部门
     */
    @ApiModelProperty("所有权公司管理部门")
    private String apCompanyDeptName;

    /**
     * 维护部门
     */
    @ApiModelProperty("维护部门")
    private String mtdeptName;

    /**
     * 权属管理部门id
     */
    @ApiModelProperty("权属管理部门id")
    private String ownerMdeptId;

    /**
     * 维保部门ID
     */
    @ApiModelProperty("维保部门ID")
    private String mtdeptId;

    /**
     * 项目id
     */
    @ApiModelProperty("项目id")
    private String projectId;

    /**
     * 车牌号
     */
    @ApiModelProperty("车牌号")
    private String carNum;

    /**
     * 版权所属	1:外部单位,2:内部单位,3:共同所有
     */
    @ApiModelProperty("版权所属\t1:外部单位,2:内部单位,3:共同所有")
    private Integer copyright;

    /**
     * 完税价格
     */
    @ApiModelProperty("完税价格")
    private Long dutPayingValue;

    /**
     * 使用部门全称
     */
    @ApiModelProperty("使用部门全称")
    private String deptAllname;

    /**
     * 名牌图
     */
    @ApiModelProperty("名牌图")
    private String nameImage;

    /**
     * 贴牌图
     */
    @ApiModelProperty("贴牌图")
    private String labelImage;

    /**
     * 独立账套
     */
    @ApiModelProperty("独立账套")
    private String fidName;

    /**
     * 独立账套id
     */
    @ApiModelProperty("独立账套id")
    private String fDeptid;

    /**
     * 指导使用年限
     */
    @ApiModelProperty("指导使用年限")
    private Long guidYear;

    /**
     * 父级资产编码
     */
    @ApiModelProperty("父级资产编码")
    private String fdeviceCode;

    /**
     * 父级资产id
     */
    @ApiModelProperty("父级资产id")
    private String fdevicecardId;

    /**
     * 资产来源
     */
    @ApiModelProperty("资产来源")
    private Integer source;

}
